Top 10k strings from Machine Code Introduction (19xx)(-)(Part 1 of 2).z80
in <root> / bin / z80 / software / Sinclair Spectrum Collection TOSEC.exe / Sinclair ZX Spectrum - Utilities & Educational / Sinclair ZX Spectrum - Utilities & Educational - [Z80] (TOSEC-v2007-01-01) /
Back to the directory listing
5 "Line draw ( 3 ,"x,y specify top left-hand corner of area to be cleared 3 ,"x,y specify the centre point 3 vertical sizes of area 3 arc (r<256)","s,f specify the length of the 2 n$="Spectrum" 2 g(tx,ty,x,by) 2 ;"PLEASE WAIT" 2 7)","b specifies bright (1=on, 0=off)","f specifies flash (1=on, 0=off)" 2 ,"x,y specifies start position 2 ,"h,l specify the high and low 2 ," No Parameters needed" 2 where text will be printed 2 of the arc (x<256, y<176)","r specifies the radius of the 2 memory at which the screen 2 hand corner of area (x+h<32) (y+v<24)","c specifies the colour (0 2 bytes of the address in 2 arc (s<256, f<256)" 2 (x<32, y<24)","h,v specify relative distance in characters to bottom right- 2 (x<32, y<22)","h,v specify horizontal and 1 ~2222~~~|4444|||z6666zzzx8888xxxv::::vvvt<<<<tttr>>>>rrrp@@@@pppnBBBBnnnlDDDDllljFFFFjjjhHHHHhhhfJJJJfffdLLLLdddbNNNNbbb`PPPP```^RRRR^^^\TTTT\\\ZVVVVZZZXXXX 1 xor=nx XOR line 1 window paper 1 window ink 1 window cls 1 t$,ad,ln,x$,p$,g$,sub,f$ 1 selection routine 1 sel=opnum+5 1 sel=opnum+4 1 sel=opnum+3 1 sel=opnum+1 1 save machine code routine 1 q(x,y,h,v)R\ 1 pyramid line 1 perspecbox 1 option routine 1 option for demo page 1 o$=o$+" INTRODUCTION/I 1 o$=" TECH.INFORMATION/T MENU/M 1 o$=" PRESS A KEY TO CONTINUE 1 o$=" INTRODUCTION/I M/MENU 1 n2 section 1 n$="MENU "+ 1 n$="INTRODUCTION": 1 multiline 1 menu print 1 magnifies a spec- ified portion of the screen to double its previous sizeP 1 lz segment 1 l(x,y,i,128 1 j), line draw (FNg)",6000 1 initialise variables 1 h,v specify horizontal and 1 draws a series of lines, and requests you to INPUTsome characters; these are dis- played when ENTER is pressed. A portion of the screen is then magnified and reduced to normal size again 1 d$=d$+p$(n 1 cover circle 1 contains POKEs for mag routine 1 c(x1,y1,h1,v1,c1,0 1 XXXVZZZZVVVT\\\\TTTR^^^^RRRP````PPPNbbbbNNNLddddLLL> 1 Quit routine 1 Print marker 1 MAGNIFICATION ROUTINEXJ 1 Introduction page 1 INTRODUCTIONO 1 INTRODUCTION 1 EYDDNDZ<%O%0$ 1 E$F1G@HQIdJyK 1 Demo text + routines 1 Demo Routines Text 1 Demo Routine 'sel' 1 ;'"Start Address:"; 1 ;"What it does:"; 1 ;"STOP THE TAPE NOW!!": 1 ;"START TAPE NOW"' 1 ;"SPACE moves the cursor"' 1 ;"ROUTINE PARAMETERS": 1 ;"REDRAW LINES" 1 ;"PRESS THE ENTER KEY FOR GRAPHICSEDITOR OR ANY OTHER KEY TO QUIT " 1 ;"PRESS ANY OTHER KEY TO RETURN TOMENU PAGE. 1 ;"POKING POINTS INTO MEMORY"' 1 ;"POKING POINTS INTO BUFFER"' 1 ;"PLEASE WAIT 2 MINS": 1 ;"Other Routines called:"; 1 ;"NOW REDUCING IMAGE": 1 ;"NO DEMONSTRATION": 1 ;"Length:"; 1 ;"LOAD ""graphcode"" 1 ;"ENTER selects the option" 1 ;"Demo Finished" 1 ;"DRAW LINES": 1 ;"DESCRIPTION OF DEMO PROGRAM" 1 ;"Address"'': 1 ;"123456 654321" 1 ;" ";x$;"." 1 ;" ";ln;" bytes" 1 ;" PRESS ANY KEY TO CONTINUE ": 1 8X$@%)5:TW_!\L 1 4y5d6Q7@819$: 1 4[6BV;_-C$TF*26.:L 1 /[a:'XR' N 1 ,"x,y specify top left-hand corner of the box (x<256, y<176)","h,v specify horizontal and vert- ical pixel measurements of 1 ,"x,y specify top left-hand corner of area to be reduced 1 ,"x,y specify top left-hand corner of area to be magnified 1 ,"x,y specify the start position 1 ,"x,y specify the pixel position 1 ,"x,y specify start position of 1 ,"x,y specify first corner","p,q specify second corner","r,s specify third corner"," (x,p,r<256, y,q,s<176)",5930 1 ,"x,y pixel co-ordinates of the 1 ,"used to draw a series of lines quickly. The line co-ordinates must be storedin memory from location 57200 before the routine is called. Up to 199 lines can be stored","" 1 ,"similar to BASIC CLS command, but clears only a specified rectangular portion ofthe screen","xyhv" 1 ,"saves the current screen display in memory","hl" 1 ,"reduces a pre- enlarged area to its original size","xyhv" 1 ,"prints the word 'Spectrum' (stored in the 1 ,"prints some numberson the screen, and draws lines over them. The routine is then called again with the same 1 ,"plots random pointsacross the middle of the screen" 1 ,"plots a single pixel point on the screen","xy" 1 ,"magnifies a spec- ified portion of the screen to double its previous size","xyhv" 1 ,"is in two parts. Inthe first part, three sets of circles are drawn in succession.The screen then clears,and a series of decreasing-sized arcs is drawn" 1 ,"fills an area 1 ,"draws two pyramids.Each pyramid is made up of a series of lines, drawn by the routine" 1 ,"draws triangles keeping two points constant but changing the position of the third corner" 1 ,"draws lines across the screen. It then prints the word 'Spectrum' (stored in the program as a string, n$) over the lines" 1 ,"draws an arc of specified radius, and joins the ends to the centre","xyrsf" 1 ,"draws an arc be- tween two points a specified radius from a centre point, and joins the ends together","xyrsf" 1 ,"draws an arc 1 ,"draws a triangle given the pixel co-ordinates of the three corners","xypqrs" 1 ,"draws a series of exclusive/OR lines, the co-ordi-nates of which are stored in a table at location 57200. Up to 200 lines can be stored","" 1 ,"draws a series of lines, and requests you to INPUTsome characters; these are dis- played when ENTER is pressed. A portion of the screen is then magnified and reduced to normal size again" 1 ,"draws a series of boxes and fills every other box" 1 ,"draws a pattern of four squares increasing in size across the screen" 1 ,"draws a line on the screen between two specifiedpoints, using Exclusive OR to give the opposite of what was there before","xypq" 1 ,"draws a line 1 ,"draws a diagonal pattern of sectors, repeated across the screen" 1 ,"draws a cone from aseries of sectors of decreasing radius. The display is then 1 ,"draws a box given the pixel co-ordinates of the top left-hand corner, and the horizontal and vertical dimen- sions of the box","xyhv" 1 ,"displays enlarged characters in vertical columns on the screen","xy" 1 ,"displays enlarged characters in horizontal rows onthe screen","xy" 1 ,"displays a screen previously stored in memory by the compaction routine","hl" 1 ,"displays a pattern of squares on the screen. It will then clear areas of the pattern" 1 ,"displays a pattern of squares on the screen. It will then change the ink colour of bands on the pattern" 1 ,"changes the paper colour of areas of the screen" 1 ,"changes the PAPER colour of any specified area of the screen","xyhvcbf" 1 ,"changes the INK colour of any specified area of the screen","xyhvcbf" 1 ,"calculates a seriesof points which are then joined by the routine. The resulting shape is then filled, and the sequence repeated" 1 ,"calculates a seriesof points which are drawn to form a shape. The routine is then called again with the same parameters to erase the drawing" 1 ,"XOR line",57600 1 ,"Window paper",62600 1 ,"Window ink",62800 1 ,"Segment",58700 1 ,"Sector",58800 1 ,"Reduction",56957 1 ,"Point plot",61500 1 ,"Partial clear",63000 1 ,"Multi-XOR line",57000 1 ,"Magnification",56700 1 ,"Line draw",60700 1 ,"Fill",57700 1 ,"Double vertical text",61900 1 ,"Decompaction",56500 1 ,"Box draw",60400 1 ,"Arc/circle draw",58900 1 );'" Save all machine code"'" Quit menu/load Graphics editor" 1 '''"This cassette gives an explana- tion and demonstration of each machine-code routine contained in the book. An introductory screen describes each routine. Ademonstration program then givesan example of the routine in use." 1 '''"Press 'S' to save all the code for the graphics routines."''"To load the routines back into memory use the command shown below:-" 1 '''"For more detailed information about each routine, a further screen gives technical details of parameters and their limits." 1 '"This program ";f$;"." 1 '"The code starts at address 56500and has a length of 6700 bytes." 1 '" Swop to menu "; 1 "graphcode" 1 "XOR LINE ROUTINE",57600 1 "WINDOW PAPER ROUTINE",62600 1 "WINDOW INK ROUTINE",62800 1 "Triangle draw",60300 1 "TRIANGLE DRAW ROUTINE",60300 1 "Screen compaction",56600 1 "SEGMENT ROUTINE",58700 1 "SECTOR ROUTINE",58800 1 "SCREEN DECOMPACTION ROUTINE",56500 1 "SCREEN COMPACTION ROUTINE",56600 1 "REDUCTION ROUTINE",56957 1 "POINT-PLOT ROUTINE",61500 1 "PARTIAL SCREEN CLEAR",63000 1 "Multi-line( 1 "Multi-line draw",57100 1 "Master curve routines",5800 1 "MULTIPLE LINE DRAW",57100 1 "MULTI-XOR LINE DRAW",57000 1 "MAGNIFICATION ROUTINE",56700 1 "LINE DRAW ROUTINE",60700 1 "FILL ROUTINE",57700 1 "ENLARGED VERTICAL TEXT ROUTINE",61900 1 "ENLARGED HORIZONTAL TEXT ROUTINE",62200 1 "Double horizontal text",62200 1 "BOX DRAW ROUTINE",60400 1 "Arc draw (FNg), line draw (FNj)",5900 1 "Arc draw ( 1 "ARC/CIRCLE ROUTINE",58900 1 where a point will be plot- 1 was stored 1 the line (p<256, y<176)" 1 the box (x+h<256, y+v<176)" 1 ted (x<256, y<176)","Pixel co-ordinates start at the bottom left-hand corner of the screen." 1 repeated with a different STEP size" 1 removed, leaving the numbers intact" 1 program as a string, n$) in six columns down the screen" 1 point at which to start 1 parameters. The lines are 1 of the line (x<256, y<176)","p,q specify the end position of 1 of the arc (x<256,y<176)","r specifies the radius of the 1 line (x<256, y<176)","p,q specify end position of line 1 is to be stored 1 hand corner of area (y+v<24) (x+h<32)" 1 filling (x<256, y<176)" 1 bounded by a solid line of INK, in the current INK colour","xy" 1 between two specified points","xypq" 1 between two points at a speci- fied radius from a centre point","xyrsf" 1 arc (s<256, f<256)","s=0 and f=255 will draw a circle" 1 TECH. INFO PRESS ANY OTHER KEY " 1 MENU PRESS ANY OTHER KEY " 1 DEMO/PRESS ANY KEY 1 (x<32,y<24)","h,v specify relative distance in characters to bottom right- 1 (x<32, y<24)","Text should be POKEd as a stringinto memory at address 62500 (100 characters maximum)." 1 (x<32, y<24)","Text is POKEd as a string (n$) into memory from address 62500. A maximum of 100 characters can be stored." 1 (x+(2*h)<32, y+(2*v)<22)N 1 (x+(2*h)<32, y+(2*v)<22)","Use only after Magnification. See Magnification for demonstra-tion." 1 (x+(2*h)<32, y+(2*v)<22)" 1 (p<256, q<176)","Use pixel co-ordinates." 1 PRESS A KEY TO CONTINUE